System and method for message-based purchasing

ABSTRACT

Various embodiments of a system and method for message-based purchasing are described. The system and method for message-based purchasing may include a message-based purchase service configured to determine that a selection has been performed through a network-based interface. Such selection may be indicative of one or more items offered for sale via the network-based interface. The message-based purchase service may be configured to, in response to the selection of one or more items, send to a communication device, a message indicating a code corresponding to the selection. The message-based purchase service may receive from the communication device through a communication channel that does not include the network-based interface, a message including the code. The message-based purchase service may be configured to, in response to determining that the message received from the communication device includes the code, generate a purchase request for the one or more previously selected items.

BACKGROUND

This application is a continuation of U.S. patent application Ser. No.13/569,007, filed Aug. 7, 2012, which is a continuation of U.S. patentapplication Ser. No. 12/057,148, filed Mar. 27, 2008, now U.S. Pat. No.8,244,592, which are hereby incorporated be reference in their entirety.

The Internet, sometimes called simply “the Net,” is a worldwide systemof computer networks in which a client at any one computer may, withpermission, obtain information from any other computer. The most widelyused part of the Internet is the World Wide Web, often abbreviated“WWW,” which is commonly referred to as “the web.” The web may bedefined as all the resources (e.g., web pages and web sites) and userson the Internet that use the Hypertext Transfer Protocol (HTTP) orvariations thereof to access the resources. A web site is a relatedcollection of web files that includes a beginning file called a homepage. From the home page, the user may navigate to other web pages onthe web site. A web server program is a program that, using theclient/server model and HTTP, serves the files that form the web pagesof a web site to the web users, whose computers contain HTTP clientprograms (e.g., web browsers) that forward requests and displayresponses. A web server program may host one or more web sites.

Web Services

Generally speaking, a web service interface may be configured to providea standard, cross-platform API (Application Programming Interface) forcommunication between a client requesting some service to be performedand the service provider. In some embodiments, a web service interfacemay be configured to support the exchange of documents or messagesincluding information describing the service request and response tothat request. Such documents, or messages, may be exchanged usingstandardized web protocols, such as the Hypertext Transfer Protocol(HTTP), for example, and may be formatted in a platform-independent dataformat, such as eXtensible Markup Language (XML), for example.

Mobile Telephony And SMS

Mobile telephony has emerged alongside the Internet and the web, and thetwo technologies have crossed over and merged to form what isessentially a global communications and information network. Cellulartelephones, for example, have become “digital”, and continue to becomemore sophisticated. Today, many digital cell phones are capable of webaccess via their cellular service providers. Similarly, many webapplications are capable of telephone communications to conventionalphones and to mobile telephones. In addition, other technologies such astext messaging have emerged to enhance the capabilities and uses ofmobile telephones and other personal electronic devices. Further, otherpersonal electronic devices, such as Personal Digital Assistants (PDAs)may provide mobile telephone links to the web, and user interfaces foraccessing the web, along with text messaging and other information andcommunications capabilities. Thus, these devices are part of theemerging global communications and information network. SMS (ShortMessage Service) is an exemplary service for sending messages of up to160 characters (224 characters if using a 5-bit mode) to mobile phones.SMS does not require the mobile phone to be active and within range. AnSMS message may be held until the target phone is active and withinrange. SMS messages may be transmitted within the same cell, or out ofthe cell to phones with roaming service capability. SMS messages mayalso be sent to digital phones from a web site, or from one digitalphone to another. An SMS gateway is a web site that accepts SMS messagesfor transmission to cell phones within the cell served by that gateway,or that acts as an international gateway for users with roamingcapability.

Various applications of the Internet, and of the web, involvemarketplaces that provide goods and services for sale. For instance,consumers may visit a merchant's website to view goods and servicesoffered for sale. With the merging of mobile telephony and othertechnologies and the web into an emerging global communications

and information network, these other technologies have become part ofsuch marketplaces in many such applications.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a block diagram of a message-based purchase serviceaccording to one embodiment.

FIG. 2 illustrates a block diagram of a message-based purchase serviceaccording to one embodiment.

FIG. 3 illustrates a block diagram of a message-based purchase serviceaccording to one embodiment.

FIG. 4A illustrates a flowchart of an exemplary method that may beimplemented by a message-based purchase service, according to oneembodiment.

FIG. 4B illustrates a flowchart of another exemplary method that may beimplemented by a message-based purchase service, according to oneembodiment.

FIG. 5A illustrates one example of a display including a control forselecting an item for sale, according to one embodiment.

FIG. 5B illustrates another example of a display including a control forselecting an item for sale, according to one embodiment.

FIG. 6A illustrates one example of a message that may be sent by amessage-based purchase service, according to one embodiment.

FIG. 6B illustrates another example of a message that may be sent by amessage-based purchase service, according to one embodiment.

FIG. 7 illustrates one example of a message that may be received by amessage-based purchase service, according to one embodiment.

FIG. 8 illustrates a flowchart of an exemplary method that may beimplemented by an entity interacting with a message-based purchaseservice, according to one embodiment.

FIG. 9 illustrates a computer system suitable for implementing amessage-based purchase service, according to one embodiment.

While the system and method for message-based purchasing is describedherein by way of example for several embodiments and illustrativedrawings, those skilled in the art will recognize that the system andmethod for message-based purchasing is not limited to the embodiments ordrawings described. It should be understood, that the drawings anddetailed description thereto are not intended to limit the system andmethod for message-based purchasing to the particular form disclosed,but on the contrary, the intention is to cover all modifications,equivalents and alternatives falling within the spirit and scope of thesystem and method for message-based purchasing as defined by theappended claims. The headings used herein are for organizationalpurposes only and are not meant to be used to limit the scope of thedescription or the claims. As used throughout this application, the word“may” is used in a permissive sense (i.e., meaning having the potentialto), rather than the mandatory sense (i.e., meaning must). Similarly,the words “include,” “including,” and “includes” mean including, but notlimited to.

DETAILED DESCRIPTION OF EMBODIMENTS

Various embodiments of a system and method for message-based purchasingare described. The system and method for message-based purchasing mayinclude a message-based purchase service configured to determine that aselection has been performed through a network-based interface. Suchselection may be indicative of one or more items offered for sale viathe network-based interface. For instance, in one embodiment, anetwork-based interface may provide one or more sales listing (e.g., inthe form of web pages) that may include user-interface controls forselecting one or more items. The message-based purchase service may beconfigured to, in response to the selection of one or more items, sendto a communication device, a message indicating a code corresponding tothe selection. For instance, in one embodiment, the message-basedpurchase service may send a text message that includes a particular codeto a user's cell phone. In many cases, the communication device is amobile device, thus enabling a user to access the message including thecode from a variety of locations. In some cases, the user may bringtheir communication device to a retail store to view or operate one ormore of the items selected via the network-based interface. Forinstance, the user may have selected a television via the network-basedinterface but would like to view the television in operation beforecommitting to a purchase. In various embodiments, the user may commit toa purchase by sending a message including the code previously receivedto the message-based purchase service described herein. Accordingly, themessage-based purchase service may also be configured to receive fromthe communication device through a communication channel that does notinclude the network-based interface, a message including the code. Forinstance, following the example above, a user may in one embodiment senda text message including the code to the message-based purchase service.The message-based purchase service may be configured to, in response todetermining that the message received from the communication deviceincludes the code, generate a purchase request for the one or morepreviously selected items.

The message-based purchase service described herein may in variousembodiments support communications via various communication channels.Communication channels may include any methods or mechanisms fortransmitting information between entities. Communication channelsgenerally include protocols for information transfer (e.g., ShortMessage Service (SMS) for text messaging), media over or through whichinformation is transmitted according to the protocols, andinfrastructures for supporting the transmissions (e.g., cellulartelephone service providers). Further, a communication channel mayrequire various devices that enable entities to communicate via thecommunication channel, for example a mobile phone, satellite phone, cellphone, conventional telephone, computer system, or Personal DigitalAssistant (PDA). Examples of communication channels include, but are notlimited to, conventional, land-based telephone systems, mobile orcellular telephone systems, satellite telephone systems, email, instantmessaging (IM), Voice over IP (VoIP), and text messaging. Note thatseparate communication channels may share one or more of protocol,media, infrastructure, and enabling device. For example, text messagingand cellular telephone systems may be enabled through the same device (acell phone) and may transmit over the same medium.

Note that communications on communication channels over which voicemessages may be transmitted (e.g., conventional, land-based telephonesystems, mobile or cellular telephone systems, satellite telephonesystems, VoIP, etc.) may collectively be referred to herein as “voicecommunications”, and likewise the channels may be referred tocollectively as “voice communication channels”. Further note that voicecommunications includes both “live” or real human voice communicationsand automated voice systems. Automated voice systems include automatedsystems in which synthesized or recorded voice messages are transmittedto communicate information. Note that some automated voice systems maytransmit at least some synthesized or recorded voice messages inresponse to vocal input (via voice recognition technology) or otherinput into a communication device (e.g., numeric key pad entries).

In some embodiments, a communication channel may include a network-basedinterface configured to support communications between a network-basedentity (e.g., an online service or a web server supporting such service)and one or more other entities (e.g., users accessing such a service viathe Internet or another network). One example of a network-basedinterface includes network-based interface 105 described in more detailin regard to FIG. 1 below. In various embodiments, a network-basedinterface may be a web-based interface configured for communications viathe Internet or World Wide Web. For instance, in one embodiment, such anetwork-based interface may be configured to provide a user with one ormore web pages for browsing or purchasing items. For example, if anetwork-based interface were implemented as part of an online merchant'swebsite, the network-based interface may provide one or more product webpages enabling users to purchase one or more items via the Internet. Inmany embodiments, access to such a network-based interface may includethe use of a personal computer equipped with a web browser, such asInternet Explorer, Mozilla Firefox, or Opera. In various embodiments,the e-commerce portal described herein may present its functionality tovarious users (e.g., users 102 described below) via such a network-basedinterface.

FIG. 1 illustrates one embodiment of a message-based purchase servicethat may be configured to generate a purchase request for one or morepreviously selected items based on a message received from acommunication device, as described in more detail below. In theillustrated embodiment, a number of users 102 a-c are shown as directlyinteracting with a message-based purchase service 100. Message-basedpurchase service 100 may be configured to interact with a data store104. Users 102 a-c may be collectively referred to as users 102, and ageneric one of users 102 a-c may simply be referred to as a user 102.While three users 102 are shown in FIG. 1, in various embodiments, anysuitable number of users may be served by message-based purchase service100.

In various embodiments, message-based purchase service 100 may beimplemented via a host computer system, such as the system describedbelow with respect to FIG. 9. In one embodiment, message-based purchaseservice 100 may be implemented as a web host or server configured tointeract with users 102 via web-based protocols. For example,message-based purchase service 100 may be configured to present webpages or other content to users 102 in response to HTTP requestsoriginating from web browsers operated by users 102. Such content,and/or other information about users 102 such as described below, may bestored by data store 104. In various embodiments, data store 104 may beconfigured as a database, as one or more mass storage devices (e.g.,physical disks, logical volumes, etc.) configured to store data blocksor files, or in any other suitable configuration for data storage.

In some embodiments, message-based purchase service 100 may beconfigured to present its functionality via a web services interface.For example, message-based purchase service 100 may implement a webservices endpoint (e.g., as indicated by a particular uniform resourceindicator (URI)) through which clients, such as applications executingon behalf of users 102, may submit requests for services to be performedby message-based purchase service 100. In an implementation ofmessage-based purchase service 100 conforming to a RepresentationalState Transfer (REST)-style web services architecture, clients ofmessage-based purchase service 100 may interface with message-basedpurchase service 100 to request web services by appending variousparameters to an HTTP request directed to the URI corresponding tomessage-based purchase service 100. Alternatively, message-basedpurchase service 100 may implement a document- or message-oriented webservices architecture. For example, a client may format a web servicesrequest as an eXtensible Markup Language (XML) document, encapsulatingsuch a document using a version of the Simple Object Access Protocol(SOAP), and conveying the resulting encapsulated document tomessage-based purchase service 100 via HTTP or another suitableprotocol. Collectively, the presentation of a web services interfaceand/or an interactive web-page-based, browser-accessible interface bymessage-based purchase service 100 may be generically referred to as anetwork-based interface. This functionality may be provided bynetwork-based interface 105 of FIGS. 1 and 2.

It is also contemplated that in some embodiments, message-based purchaseservice 100 may interact with users 102 using protocols other than webservices-related protocols. For example, such communication may takeplace using protocols such as Telnet, Remote Procedure Call (RPC), orother standard or proprietary protocols. Further, it is contemplatedthat in some embodiments, message-based purchase service 100 may be adedicated system, while in other embodiments the functionality ofmessage-based purchase service 100 may be integrated along with other,potentially unrelated functionality. In one such embodiment,message-based purchase service 100 may be implemented as a component ofan e-commerce portal that may provide numerous other features to users102 besides the features provided by message-based purchase service 100.For example, such an e-commerce portal may offer users 102 theopportunity to shop for and order merchandise, transact payments, offertheir own merchandise to other users 102 and/or perform othercommerce-related activities.

Generally speaking, users 102 may correspond to private individualsacting on their own behalf or acting as agents on behalf of otherindividuals or organizations with respect to their interactions withmessage-based purchase service 100. Users 102 may interact withmessage-based purchase service 100 through any suitable techniquesupported by message-based purchase service 100. For example, users 102may access message-based purchase service 100 via a web browser or anapplication configured to implement a web services interface tomessage-based purchase service 100. In some embodiments, users 102 mayalso access message-based purchase service 100 via electronic mail(email), SMS messaging, or other suitable techniques. In someembodiments, each of users 102 may be associated with a respectiveunique identifier, such as a user ID or email address. In some suchembodiments, message-based purchase service 100 or a broader systemincluding message-based purchase service 100 may support additionalcredentialing features with which to authenticate users 102 prior toallowing users to interact with message-based purchase service 100. Forexample, message-based purchase service 100 may be implemented alongwith an e-commerce portal, the e-commerce portal may implement a useraccounts feature through which users 102 are uniquely identified by auser ID/password combination. Upon supplying the appropriate credentialsto the e-commerce portal, a given user 102 may be allowed to interactwith features of message-based purchase service 100 and/or otherfeatures of the e-commerce portal.

An alternative architecture employing message-based purchase service 100is shown in FIG. 2. In the illustrated embodiment, users 102 a-c do notinteract directly with message-based purchase service 100, but ratherwith a host system 200, which in turn is configured to interact withmessage-based purchase service 100. Such an architecture may facilitatethe deployment of the features of message-based purchase service 100 bya third party entity or enterprise for the benefit of its users. Forexample, host system 200 may be representative of the informationtechnology (IT) infrastructure of an organization having a number ofaffiliated users (e.g., a business with employees, a university orschool with students, etc.). Users 102 may use various features providedby the organization via host system 200, such as web-delivered content,email services, etc. An organization may elect to expose certain aspectsof its infrastructure to message-based purchase service 100 in order toprovide the features of message-based purchase service 100, withoutrequiring users 102 to interact with message-based purchase service 100directly. For example, the user interface presented by host system 200may integrate features provided by message-based purchase service 100 aswell as features provided by the organization. Host system 200 mayintegrate such features in a manner transparent to users 102, or mayseparately identify features provided by message-based purchase service100 (e.g., via a co-branding arrangement).

In various embodiments, host system 200 may be a component of ane-commerce portal, such as a network-based server (e.g., a web server)configured to provide product sales listings (e.g., product web pages)to various ones of users 102. Such product sales listings may eachinclude a description of an item (e.g., text, image, or multimediadescriptions). Such an ecommerce portal may enable users 102 to browsesuch product sales listings and select one or more items for purchase.In some cases, user 102 may desire to first view, inspect, or operate anitem in person before committing to a purchase via the e-commerceportal. For example, if user 102 were interested in purchasing atelevision, user 102 may desire to view and/or operate a television ofthe same make and model before committing to purchasing the item. Forinstance, user 102 may travel to a retail store to view or operate atelevision of the same make and model in person. Additionally (oralternatively), user 102 may desire to compare a price at which thetelevision is offered for sale by the e-commerce portal to a price atwhich a television of the same make and model is offered for sale by acompetitor, such as a retail store. Accordingly, the message-basedpurchase service may enable a user to conveniently suspend a purchase(or potential purchase) of an item and (optionally) purchase the item ata later time (e.g., when the user is viewing or operating the item in aretail store), as described in more detail below.

In some embodiments (as is the case in the illustrated embodiment),network-based interface 105 may be a component of host system 200.Network-based interface 105 may be configured to provide users 102 withnetwork-based content, such as various web pages. As described above,host system 200 may be a component of an e-commerce portal. Accordingly,network-based interface 105 may provide access to such e-commerce portalto various ones of users 102. For instance, network-based interface 105may provide sales listings, such as product web pages, that enable users102 to browse through descriptions of various items for sale. Such webpages may include various user accessible controls (buttons, text entryfields, and other user interface elements) for performing variousactions, such as purchasing an item.

In various cases, users 102 and message-based purchase service 100 maycommunicate through communications channels that do not include anetwork-based interface (e.g., network based interface 105). One suchcase is demonstrated by FIG. 3, which illustrated users 102communicating with message-based purchase service via variouscommunication devices 300 a-c (collectively referred to as communicationdevices 300). A generic one of communication device 300 a-c may bereferred to herein as communication device 300.

In various embodiments, communication device 300 may be a deviceconfigured to communicate with message-based purchase service 100 via atext messaging communication channel. For instance, the communicationdevice 300 may be configured to transmit text messages to, receive textmessages from, and/or exchange text messages with message-based purchaseservice 100. In various embodiments, such text messaging communicationsmay adhere to one or more text messaging protocols including but notlimited to SMS or other text messaging protocols, whether such othertext messaging protocols are presently known or developed in the future.

In various embodiments, communication device 300 may be configured tocommunicate with message-based purchase service via a voicecommunication channel. Communication device 300 may be a cellulartelephone, smart phone, personal digital assistant (PDA) or other deviceconfigured to communicate with the message-based purchase service viaone or more cellular technologies including but not limited to GlobalSystem for Mobile Communications (GSM), General Packet Radio Service(GPRS), Code Division Multiple Access (CDMA), Time Division MultipleAccess (TDMA), Evolution-Data Optimized (EV-DO), Enhanced Data Rates forGSM Evolution (EDGE), Universal Mobile Telecommunications System (UMTS),and/or other cellular technologies, whether such technologies arepresently known or developed in the future.

In various embodiments, communication device 300 may be registered foraccess with message-based purchase service 100. For instance,message-based purchase service 100 may store one or more records ofcommunication device 300 within data store 104. In some embodiments,such records may include a telephone number of communication device 300or some other device identifier such as device 300's serial number ordevice 130's International Mobile Equipment Identity (IMEI) number.

Various methods may be performed by message-based purchase service 100described herein. One such method is illustrated by the flowchart ofFIG. 4A. Operation of the method begins with determining that aselection has been performed through a network-based interface, theselection indicative of one or more items offered for sale via thenetwork-based interface (block 400). In some embodiments, determiningthat a selection has been performed may include determining that user102 has selected via network-based interface 105 one or more itemsoffered for sale via network-based interface 105. For instance, asdescribed above, host system 200 may be a component of an e-commerceportal and network-based interface 105 may provide access to suche-commerce portal to user 102. For example, network-based interface 105may provide user 102 with one or more sales listings, such as productweb pages. Such sales listings may include one or more controls forselecting one or more items. Determining that such a selection has beenperformed may include determining that one or more of such controls havebeen selected. One example of such controls is described below withrespect to FIG. 5A.

Referring momentarily to FIG. 5A, a browser display 500 is illustrated.Browser display 500 includes examples of content and controls that maybe provided to users 102 by network-based interface 105. For instance,sales listing content 510 may include information about one or moreitems for sale such as images, multimedia and/or text based descriptionsof the one or more items for sale. In the illustrated embodiment, thesales listing content corresponds to a television; however, saleslisting content may in other cases correspond to any goods or services.In some cases, a user may choose to purchase the item described byselecting purchase control 520. However, as described above, there maybe cases where user 102 is not yet prepared to purchase the itemdescribed by the sales listing content. For instance, the user maydesire to view, inspect, and/or operate an item of the same type (e.g.,same make and model) at a retail store in order to determine if he wouldlike to purchase the item. In such cases, the user may indicate that heis interested in the item (but not yet ready to commit to purchasing theitem) by selecting selection control 530A. Note that multiple displaysmay exist for multiple items for sale. Each display may have a controlsimilar to selection control 530A; user 102 may select multiple items byselecting each item's respective selection control. Returning to FIG.4A, determining that a selection has been performed through anetwork-based interface may include determining that a user has selectedone or more of such selection controls. Note that in other embodiments,users may select an item via network-based interface 105 through othertechniques, such as selecting items from a list, entering model numbersor item numbers of items, entering stock keeping unit (SKU) numbers, orindicating an item in some other manner. In general the method mayinclude detecting any selection performed by a user via network-basedinterface 105.

In response to such selection performed through the network-basedinterface, the method may include sending to a communication device(e.g., communication device 300), a message indicating a codecorresponding to the selection (block 402). Such code may be generatedby message-based purchase service 100 and may include variouscharacters, numbers, and/or symbols. For instance, examples of codesmight include “buy,” “item ABC123,” “1G$3#df95” or some other code. Theparticular communication device to which the message is sent may be acommunication device previously registered by the user with themessage-based purchase service. One example of such a communicationdevice includes communication device 300 described above. For example,message-based purchase service 100 may use the identity of the user thatperformed the selection of block 400 to determine which communicationdevice should be sent the message indicating the code. For instance,message-based purchase service 100 may determine a device as specifiedby a customer account configuration file associated with the user. Suchconfiguration file might specify information associated with thecustomers account such as device identifiers (e.g., phone numbers, etc.)and account preferences (e.g., shipping and/or billing preferences).

In various embodiments, sending the message indicating the code mayinclude sending such message via a communications channel that does notinclude network-based interface 105. For instance, in some embodiments,message-based purchase service 100 may include utilizing atext-messaging communication channel by sending a text message includingthe code to the communication device. In some embodiments, such textmessage may adhere to a text messaging protocol such as the ShortMessage Service (SMS) protocol. In some embodiments, message-basedpurchase service 100 may send an email message to the communicationdevice (e.g., if the communication device is configured for emailaccess). In some embodiments, the communication device may be equippedwith a dedicated client application for receiving messages from amessage-based purchase service according to one or more communicationprotocols. In such cases, message-based purchase service 100 may beconfigured to send the message to the dedicated client according to suchprotocols.

Referring momentarily to FIG. 6A, one example of such a message sent tothe communication device by message-based purchase service 100 includesthe illustrated message 600A. In some cases, message 600A may be a textmessage, such as a message adhering to the SMS protocol or some othertext-messaging protocol. Note that the “code” of message 600A isrepresented as “buy3479.” Note that in other embodiments such code mightbe delivered to the communication device via some other communicationchannel. For example, message-based purchase service 100 may utilize avoice communication channel to send the code to the communicationdevice. For instance, message-based purchase service 100 may utilize anautomated voice system to call the communication device and deliver theillustrated message via synthesized voice. In the illustratedembodiment, the message sent to the communication device corresponds tothe television of FIG. 5A. However, in other cases, messagescorresponding to other goods or services may be sent to thecommunication device.

By sending the message including the code to a communication device 300associated with user 102, the message-based purchase service may enablethe user to easily and conveniently purchase a selected item withoutaccessing network-based interface 105 subsequent to the originalselection of such item (e.g., as described in regard to block 400). Forinstance, user 102 may select one or more items via network-basedinterface 105 described above, such as items that user 102 is interestedin purchasing (whether via a merchant controlling the network-basedinterface or another merchant, such as a retail store). By sending suchmessage to communication device 300, which in many cases may be a mobiledevice (e.g., cell phone, PDA, smart phone, etc.), the message-basedpurchase service may enable the user to purchase an item from themerchant controlling the network-based interface without subsequentaccess to the network-based interface (e.g., access of the network-basedinterface subsequent to the selection of the one or more items).

Accordingly, the method of FIG. 4A may include receiving from thecommunication device through a communication channel that does notinclude the network-based interface, a message including the code (block404). For instance, the method may include receiving a message sent byuser 102 via communication device 300. For instance, the method mayinclude message-based purchase service 100 receiving such message fromcommunication device 300 via a text-messaging communication channel or avoice communication channel. In some embodiments, the received messagemay be a message sent as a reply to the message that the message-basedpurchase service sent to the communication device. For example, manytext messaging clients include features (such as the “reply” controlillustrated in FIG. 6A) that enable a user to reply to messages receivedby the communication device, such as messages stored in an inbox of thetext messaging client. Such reply functionality may pre-populateportions of the reply message, such as a destination address. Utilizingsuch reply functionality may be convenient for user 102 when replyingvia a communication channel that is the same type of communicationchannel through which the received message was sent by the message-basedpurchase service. For instance, if message-based purchase service 100sends a message including a code via a text messaging communicationchannel, it may be convenient for the user to reply via a text messagingcommunication channel. However, in some embodiments, the user may send areply message via another communication channel, such as a voicecommunication channel. Accordingly, in some embodiments, themessage-based purchase service may be configured to receive a replymessage including the code via a communication channel that is differentthan the communication channel through which the message-based purchaseservice sent its message to the communication channel.

Referring momentarily to FIG. 7, one example of a message 700 receivedby the message-based purchase service is illustrated. In the illustratedembodiment, message 700 is a message sent from communication device 300in response to message 600A of FIG. 6A. As illustrated, message 700includes the code (e.g., “buy3479) that was included in the message sentto the communication device by the message-based purchase service. Forexample, user 102 may have viewed and/or operated a model of the sametype (e.g., same make and model) at a retail store and decided topurchase the item by sending the message include the code to themessage-based purchase service. In this way, user 102 may utilizecommunication device 300 to purchase items when access to network-basedinterface is not available, such as when user 102 is located at a retailstore. In other cases, the user may have access to network-basedinterface 105 but may prefer to purchase an item by sending a messageinclude a code as described above.

Returning to FIG. 4A, the method may include, in response to determiningthat the received message includes the code, generating a purchaserequest for the one or more items. As described above, message-basedpurchase service may be implemented as a component of an e-commerceportal. Accordingly, in response to determining that the receivedmessage includes the code, the message-based purchase service maygenerate a purchase request for the e-commerce portal. The purchaserequest may specify information including but not limited to thecustomers identity (e.g., name or customer ID), the item(s) to bepurchased (and associated quantities), the billing information for suchpurchase (e.g., payment method, credit card numbers, bank account androuting numbers, etc.) and shipping information for the such purchase(e.g., shipping method, shipping carrier, etc.). In some embodiments,the purchase request may be provided to and fulfilled by a commercialentity controlling the message-based purchase service. In other cases,the purchase request may be provided to and fulfilled by anothercommercial entity, such as a third party merchant.

In various embodiments, the method may include authorizing such purchaserequest. For instance, in one embodiment, message-based purchase service100 may send an authorization request message to the communicationdevice via a communication channel other than the communication channelthrough which the message-based purchase service received the messageincluding the code from the communication device. For instance, if theuser sent the message including the code from the communication deviceto the message-based purchase service via a text messaging communicationchannel, the message-based purchase service may contact user 102 with anauthorization request message via a voice communication channel. Forexample, the message-based purchase service may contact the user with anautomated voice system at a telephone number of the communicationdevice; such telephone number may have been previously registered withthe message-based purchase service or a commercial entity controllingthe message-based purchase service. The authorization request messagemay prompt the user for validation information to verify the user'sidentity. For instance, such information may include a PersonalIdentification Number (PIN), a passcode, a pass phrase, a mother'smaiden name, last four digits of Social Security number, or some otherinformation for verifying the user's identity. If message-based purchaseservice receives a message including the requested validationinformation from the communication device via the same communicationchannel through which the validation information was requested, themessage-based purchase service may indicate the purchase request asauthorized. The message-based purchase service may provide suchindication to another commercial entity, such as a third party merchant.

In some embodiments, the method may include generating mappinginformation indicating a correspondence between the code that is to besent to the user and information for generating the purchase request.For instance, as described above with respect to block 402, the methodmay include the message-based purchase service sending a code to acommunication device. Message-based purchase service may generatemapping information that indicates a correspondence between this codeand one or more other elements including but not limited to anindication of the selected item(s) (e.g., one or more item identifiersor SKUs), shipping preferences (e.g., a shipping address, shippingcarrier, shipping method) and billing preferences (payment method,credit card numbers, bank account and routing numbers, etc.). Themessage-based purchase service may in various embodiments generate apurchase request (e.g., block 406) based on this mapping information.For instance, a purchase request might indicate the items purchased, acredit card number of an account to be charged for the items, and thatthe items are to be shipped by ground.

In some embodiments, the method may include sending to the communicationdevice a message indicating a promotional discount for the one or moreselected items. For example, message-based purchase service 100 maydetermine that a message including the code has not been received fromthe communication device. For instance, the user of the communicationdevice may no longer be interested in the selected item(s) or may haveforgotten about the selected items. Accordingly, message-based purchaseservice 100 may send a promotional discount message to the communicationdevice. For instance, such promotional discount message may entice theuser of the communication device to purchase the item. Such enticementmight include offering a lower than advertised price or a discount basedon quantity of items purchased. The discount may also have a time-basedexpiration. For example, the promotional discount message might indicate“Reply with ‘buy3479’ within the next 5 minutes to receive 30% off thenormal purchase price of Acme 42″ Television.”

In some embodiments, the method may include sending a reminder messageto the communication device in order to remind the user about theselected item. For example, if the message-based purchase service hasnot received a message including the code from the communication deviceafter a given time period, the message-based purchase service mayconclude, for example, that the user of the communication device hasforgotten about the selected items. Accordingly, message-based purchaseservice 100 may, in respond to determining that a given time period haselapsed, send a second message indicating the code corresponding to theselection performed via the network-based interface.

In various embodiments, the method may include sending a messageindicating the code to the communication device in response todetermining that the communication device is located within a givengeographical region. For instance, the message-based purchase servicemay determine that the communication device is located in or around aretail store that carries one or more items selected by the user asdescribed above with respect to block 400. In response to suchdetermination, the message-based purchase service may send thecommunication device a message indicating the code. In some cases, thismay be the message described above with respect to block 402; however,in other case such message may be a message sent subsequent to themessage described above with respect to block 402. To determine thecommunication device's location, message-based purchase service 100 maybe configured to determine the communication device's location throughuse of the Global Positioning System (GPS). In other embodiments, themessage-based purchase service may be configured to determine thecommunication device's location through various alternative techniquesincluding, but not limited to, the use of cellular telephone towertriangulation or alternatives to GPS, such as China's Beidou NavigationSystem or Russia's Global Navigation Satellite System. One skilled inthe art will recognize that any of various methods may be employed todetermine a communication device's location. It is the intention ofvarious embodiments to include all such methods for determining acommunication device's location, whether such methods are presentlyknown or developed in the future.

As described above, the message-based purchase service may in someembodiments be a component of an e-commerce portal, such as ane-commerce portal that offers users 102 the opportunity to shop for andorder merchandise, transact payments, offer their own merchandise toother users 102 and/or perform other commerce-related activities. Forinstance, such e-commerce portal may offer a variety of items for saleincluding the items selected by user 102 via the network-basedinterface. While user 102 selects such items, the e-commerce portal mayoffer the selected items for sale at a give price. Some time after theselection, such price may be modified by the e-commerce portal forvarious reasons including but not limited to issues related to supplyand demand as well as changes in price offered by third party merchantsor distributors. However, in some embodiments, the e-commerce portal mayhold the price of the selected items constant for user 102 for a giventime period. In other words, even when the e-commerce portal changes theprice of the selected items, the user may purchase the selected items atthe given price during such time period by sending the message includingthe code to the message-based purchase service via a communicationchannel that does not include the network-based interface. For instance,subsequent to a price modification of the selected items, themessage-based purchase service may receive such message including thecode (e.g., the code sent to the communication device as described abovein regard to block 402) from the communication device and, subsequent todetermining that the received message includes the code, process a saleof the selected items at the given price. In this way, the message-basedpurchase service may enable a user to “hold” an item at a particularprice for a give time period without necessarily committing topurchasing the item. Note that after the given time period has expired,the e-commerce portal may in some embodiments prevent the sale of theselected items at the given price. If such prevention is implemented,the e-commerce portal may in some cases offer the selected items to user102 at a different price.

In various embodiments, such an e-commerce portal may be configured to,in response to the selection describe above with respect to block 400,reserve one or more of the items selected for a given time period. Forinstance, to ensure that such selected items are in stock if/when amessage including the code is received from communication device 300,the e-commerce portal may reserve such items for a given period of time.Reserving the selected items may include preventing the sale of suchitems to entities other than an entity controlling communication device300 (e.g., user 102). In some embodiments, the message-based purchaseservice may be configured to render the code invalid after a given timeperiod. In some cases, the e-commerce portal may release reserved itemswhen such time period expires.

In various embodiments, the sending of the message including thepurchase code to the communication device may be dependent on the priceof the item(s) indicated by the selection. FIG. 4B includes a flowchartillustrating one example of such a method. The method may begin bydetermining that a selection has been performed through a network-basedinterface; such selection may be indicative of one or more items offeredfor sale via the network based interface (block 410). In someembodiments, determining that a selection has been performed may includedetermining that user 102 has selected via network-based interface 105one or more items offered for sale via network-based interface 105. Forinstance, as described above, host system 200 may be a component of ane-commerce portal and network-based interface 105 may provide access tosuch e-commerce portal to user 102. For example, network-based interface105 may provide user 102 with one or more sales listings, such asproduct web pages. Such sales listings may include one or more controlsfor selecting one or more items. Determining that such a selection hasbeen performed may include determining that one or more of such controlshave been selected. In some embodiments, such a selection may also beaccompanied by a price threshold specified by a user. For instance, user102 may specify that he desires to be notified when the selecteditem(s), e.g., drop below $100.00 or, e.g., drop 10% in price. Themethod may include detecting or determining such threshold specified byuser 102. In other cases, such threshold may be specified bymessage-based purchase service 100.

Referring momentarily to FIG. 5B, a browser display 500 is illustrated.Browser display 500 includes examples of content and controls that maybe provided to users 102 by network-based interface 105. For instance,sales listing content 510 may include information about one or moreitems for sale such as images, multimedia and/or text based descriptionsof the one or more items for sale. As is the case in FIG. 5A, the saleslisting content corresponds to a television; however, sales listingcontent may in other cases correspond to any goods or services. In somecases, a user may choose to purchase the item described by selectingpurchase control 520. However, as described above, there may be caseswhere user 102 is not yet prepared to purchase the item described by thesales listing content. For instance, the user may desire to view,inspect, and/or operate an item of the same type (e.g., same make andmodel) at a retail store in order to determine if he would like topurchase the item. In some embodiments, the user may be currentlyunsatisfied with the price of the item and may desire to delay purchaseuntil the item is available at a different (e.g., lower) price. In suchcases, the user may indicate that he is interested in the item (but notyet ready to commit to purchasing the item) by selecting selectioncontrol 530B. Note that selection control 530B is similar to selectioncontrol 530A described above. However, as is the case in the illustratedembodiment, selection control 530B may enable user 102 to specify aprice at which he would consider purchasing the item, such as the pricethreshold described above. The method described herein may includedetermining the selection of such a selection control as well as theinput of a price threshold.

Returning to FIG. 4B, the method may further include, in response todetermining that the one or more items are offered for sale at or belowa particular price (such as the price threshold described above),sending to a communication device, a message indicating a codecorresponding to the selection (block 412). For instance, the method mayinclude message-based purchase service 100 actively monitoring theprice(s) of the item(s) indicated by user 102's selection. In othercases, the method may include message based purchase service 100receiving an indication from another system or entity, such as ane-commerce portal that manages the sales listing for the particularitem(s); such indication may indicate the current price of the item(s)or that the price of the item(s) has met a particular threshold (e.g.,the threshold described above in regard to block 410).

Once it is determined that the item(s) are offered for sale at or belowa particular price, the method may include sending a message indicatinga code corresponding to the selection to the communication device in amanner similar to that described above with respect to block 402. Oneexample of such a message is illustrated by message 600B of FIG. 6B. Asillustrated, the message includes an indication that the price of theselected item has been reduced to a particular price. The message alsoincludes a code “buy3479” which may be used to purchase such item in amanner similar to the manner described above with respect to FIG. 4A.Note that the code “buy3479 is merely exemplary and that any other typeof code could be implemented according to various embodiments.Additionally, the method may include receiving from the communicationdevice through a communication channel that does not include thenetwork-based interface, a message including the code (block 414). Themethod may also include in response to determining that said receivedmessage includes said code, generating a purchase request for said oneor more items (block 416). The operation of the method with respect toblock 414 and block 416 may be the similar to (or the same as) theoperation of the method described above with respect to block 404 andblock 406, respectively.

FIG. 8 illustrates a method performed by an entity (e.g., user 102)utilizing the message-based purchase service described herein. Themethod begins with the entity conveying a selection through anetwork-based interface. Such selection may indicate one or more itemsoffered for sale via the network-based interface. For example, asdescribed above, user 102 may select a control of a sales listing toindicate selection of an item. One example of such a sales listing isillustrated above with respect to FIG. 5A. In some embodiments, the usermay select an item in cases where cases user 102 is interested in aparticular item but not immediately prepared to purchase the itemdescribed by the sales listing content. For instance, the user maydesire to view, inspect, and/or operate an item of the same type (e.g.,same make and model) at a retail store in order to determine if he wouldlike to purchase the item. In various embodiments, such network basedinterface through which user 102 selects items may be a network-basedinterface of an e-commerce portal.

Subsequent to the selection, the method may include the entity receivinga message on a communication device; such message may indicate a codecorresponding to the selection (block 802). Such code may be generatedby message-based purchase service 100 and may include variouscharacters, numbers, and/or symbols. For instance, examples of codesmight include “buy,” “item ABC123,” “1G$3#df95” or some other code. Theparticular communication device that receives the message may be acommunication device previously registered by user 102 withmessage-based purchase service 100. Examples of such communicationdevices include a cellular telephone, smart phone, personal digitalassistant (PDA) or other device configured to communicate with themessage-based purchase service via one or more cellular technologies.

The message received by the entity may enable the user to easily andconveniently purchase a selected item without accessing network-basedinterface 105. For instance, the code received by the communicationdevice may be provided to message-based purchase service 100 to indicatethat the entity desires to purchase the selected items. Since this maybe performed from the communication device (which is in many cases amobile device), the entity need not be bound to a particular locationwhen deciding to purchase items previously selected. For instance, theentity could be located in a retail store and evaluating items that arethe same as the selected items. For instance, if the entity had conveyeda selection of a television, the entity could evaluate the television ata retail store. Upon deciding on purchasing the item, the entity maysend the code to the message-based purchase service without accessingthe network-based interface. Accordingly, the method may include sendingfrom the communication device through a communication channel that doesnot include the network-based interface, a message including the code.Such message may be sent by the entity via any of the various messagesas described above including but not limited to a text message or anemail message.

Various embodiments of a system and method for message-based purchasing,as described herein, may be executed on one or more computer systems,which may interact with various other devices. One such computer systemis computer system 900 illustrated by FIG. 9. Computer system 900 may becapable of implementing a message-based purchase service, such asmessage-based purchase service 100. In the illustrated embodiment,computer system 900 includes one or more processors 910 coupled to asystem memory 920 via an input/output (I/O) interface 930. Computersystem 900 further includes a network interface 940 coupled to I/Ointerface 930, and one or more input/output devices 950, such as cursorcontrol device 960, keyboard 970, and display(s) 980. In someembodiments, it is contemplated that embodiments may be implementedusing a single instance of computer system 900, while in otherembodiments multiple such systems, or multiple nodes making up computersystem 900, may be configured to host different portions or instances ofembodiments. For example, in one embodiment some elements may beimplemented via one or more nodes of computer system 900 that aredistinct from those nodes implementing other elements.

In various embodiments, computer system 900 may be a uniprocessor systemincluding one processor 910, or a multiprocessor system includingseveral processors 910 (e.g., two, four, eight, or another suitablenumber). Processors 910 may be any suitable processor capable ofexecuting instructions. For example, in various embodiments processors910 may be general-purpose or embedded processors implementing any of avariety of instruction set architectures (ISAs), such as the x86,PowerPC, SPARC, or MIPS ISAs, or any other suitable ISA. Inmultiprocessor systems, each of processors 910 may commonly, but notnecessarily, implement the same ISA.

System memory 920 may be configured to store program instructions 922and/or data 932 accessible by processor 910. In various embodiments,system memory 920 may be implemented using any suitable memorytechnology, such as static random access memory (SRAM), synchronousdynamic RAM (SDRAM), nonvolatile/Flash-type memory, or any other type ofmemory. In the illustrated embodiment, program instructions and dataimplementing a message-based purchase service, such as described above,are shown stored within system memory 920 as message-based purchaseservice 100. In other embodiments, program instructions and/or data maybe received, sent or stored upon different types of computer-accessiblemedia or on similar media separate from system memory 920 or computersystem 900. Generally speaking, a computer-accessible medium may includestorage media or memory media such as magnetic or optical media, e.g.,disk or CD/DVD-ROM coupled to computer system 900 via I/O interface 930.Program instructions and data stored via a computer-accessible mediummay be transmitted by transmission media or signals such as electrical,electromagnetic, or digital signals, which may be conveyed via acommunication medium such as a network and/or a wireless link, such asmay be implemented via network interface 940.

In one embodiment, I/O interface 930 may be configured to coordinate I/Otraffic between processor 910, system memory 920, and any peripheraldevices in the device, including network interface 940 or otherperipheral interfaces, such as input/output devices 950. In someembodiments, I/O interface 930 may perform any necessary protocol,timing or other data transformations to convert data signals from onecomponent (e.g., system memory 920) into a format suitable for use byanother component (e.g., processor 910). In some embodiments, I/Ointerface 930 may include support for devices attached through varioustypes of peripheral buses, such as a variant of the Peripheral ComponentInterconnect (PCI) bus standard or the Universal Serial Bus (USB)standard, for example. In some embodiments, the function of I/Ointerface 930 may be split into two or more separate components, such asa north bridge and a south bridge, for example. Also, in someembodiments some or all of the functionality of I/O interface 930, suchas an interface to system memory 920, may be incorporated directly intoprocessor 910.

Network interface 940 may be configured to allow data to be exchangedbetween computer system 900 and other devices attached to a network(e.g. network 995), such as other computer systems (e.g., communicationdevices 300), or between nodes of computer system 900. In variousembodiments, network interface 940 may support communication via wiredor wireless general data networks, such as any suitable type of Ethernetnetwork, for example; via telecommunications/telephony networks such asanalog voice networks or digital fiber communications networks; viastorage area networks such as Fibre Channel SANs, or via any othersuitable type of network and/or protocol.

Input/output devices 950 may, in some embodiments, include one or moredisplay terminals, keyboards, keypads, touchpads, scanning devices,voice or optical recognition devices, or any other devices suitable forentering or accessing data by one or more computer systems 900. Multipleinput/output devices 950 may be present in computer system 900 or may bedistributed on various nodes of computer system 900. In someembodiments, similar input/output devices may be separate from computersystem 900 and may interact with one or more nodes of computer system900 through a wired or wireless connection, such as over networkinterface 940.

As shown in FIG. 9, memory 920 may include program instructions 922configured to implement message-based purchase service, such asmessage-based purchase service 100. In one embodiment, message-basedpurchase service 100 may implement the methods described above, such asthe method illustrated by FIGS. 4A-4B. In other embodiments, differentelements and data may be included.

Those skilled in the art will appreciate that computer system 900 ismerely illustrative and is not intended to limit the scope ofembodiments. In particular, the computer system and devices may includeany combination of hardware or software that can perform the indicatedfunctions, including computers, network devices, Internet appliances,PDAs, wireless phones, pagers, etc. Computer system 900 may also beconnected to other devices that are not illustrated, or instead mayoperate as a stand-alone system. In addition, the functionality providedby the illustrated components may in some embodiments be combined infewer components or distributed in additional components. Similarly, insome embodiments, the functionality of some of the illustratedcomponents may not be provided and/or other additional functionality maybe available.

Those skilled in the art will also appreciate that, while various itemsare illustrated as being stored in memory or on storage while beingused, these items or portions of them may be transferred between memoryand other storage devices for purposes of memory management and dataintegrity. Alternatively, in other embodiments some or all of thesoftware components may execute in memory on another device andcommunicate with the illustrated computer system via inter-computercommunication. Some or all of the system components or data structuresmay also be stored (e.g., as instructions or structured data) on acomputer-accessible medium or a portable article to be read by anappropriate drive, various examples of which are described above. Insome embodiments, instructions stored on a computer-accessible mediumseparate from computer system 900 may be transmitted to computer system900 via transmission media or signals such as electrical,electromagnetic, or digital signals, conveyed via a communication mediumsuch as a network and/or a wireless link. Various embodiments mayfurther include receiving, sending or storing instructions and/or dataimplemented in accordance with the foregoing description upon acomputer-accessible medium. Accordingly, various embodiments may bepracticed with other computer system configurations.

Various embodiments may further include receiving, sending or storinginstructions and/or data implemented in accordance with the foregoingdescription upon a computer-accessible medium. Generally speaking, acomputer-accessible medium may include storage media or memory mediasuch as magnetic or optical media, e.g., disk or DVD/CD-ROM, volatile ornon-volatile media such as RAM (e.g. SDRAM, DDR, RDRAM, SRAM, etc.),ROM, etc., as well as transmission media or signals such as electrical,electromagnetic, or digital signals, conveyed via a communication mediumsuch as network and/or a wireless link.

The methods described herein may be implemented in software, hardware,or a combination thereof, in different embodiments. In addition, theorder of the actions of the methods may be changed, and various elementsmay be added, reordered, combined, omitted, modified, etc. Variousmodifications and changes may be made as would be obvious to a personskilled in the art having the benefit of this disclosure.

These various embodiments described herein are meant to be illustrativeand not limiting. Many variations, modifications, additions, andimprovements are possible. Accordingly, plural instances may be providedfor components described herein as a single instance. Boundaries betweenvarious components, operations and data stores are somewhat arbitrary,and particular operations are illustrated in the context of specificillustrative configurations. Other allocations of functionality areenvisioned and may fall within the scope of claims that follow. Finally,structures and functionality presented as discrete components in theexemplary configurations may be implemented as a combined structure orcomponent. These and other variations, modifications, additions, andimprovements may fall within the scope of embodiments as defined in theclaims that follow.

1. A system, comprising: a memory comprising program instructions; andone or more processors coupled to said memory, wherein the programinstructions are executable by at least one of said one or moreprocessors to implement a message-based purchase service configured to:determine that a selection has been performed through a network-basedinterface, the selection indicative of one or more items offered forsale via the network-based interface; in response to said selection,send to a communication device, a message indicating a codecorresponding to said selection; receive from the communication devicethrough a communication channel that does not include said network-basedinterface, a message including said code; and in response to determiningthat said received message includes said code, generate a purchaserequest for a user for said one or more items.
 2. The system of claim 1,wherein the message-based purchase service is configured to send to thecommunication device via a particular communication channel, anauthorization request message for requesting validation information,wherein the particular communication channel is a communication channelother than the communication channel through which the received messageincluding the code is received.
 3. The system of claim 2, wherein themessage-based purchase service is configured to, in response toreceiving a message including the requested validation information fromthe communication device via the particular communication channel,indicate the purchase request as authorized.
 4. The system of claim 1,wherein the message-based purchase service is configured to generatemapping information indicating a correspondence between said code andinformation for generating the purchase request, wherein themessage-based purchase service is configured to generate the purchaserequest based on said mapping information.
 5. The system of claim 4,wherein said mapping information indicates a correspondence between saidcode and one or more of: one or more identifiers of said one or moreitems offered for sale, one or more shipping preferences, and one ormore billing preferences.
 6. The system of claim 1, wherein the receivedmessage including said code is a text message.
 7. The system of claim 6,wherein said text message adheres to the Short Message Service (SMS)protocol.
 8. The system of claim 6, wherein said text message is anemail message.
 9. The system of claim 1, wherein to determine that aselection has been performed through a network-based interface themessage-based purchase service is configured to determine that a controlof a sales listing web page has been selected, wherein the sales listingweb page comprises a sales listing for at least one of said one or moreitems.
 10. The system of claim 1, wherein the message-based purchaseservice is configured to send to the communication device, a messageindicating a promotional discount for said one or more items.
 11. Thesystem of claim 1, wherein the message-based purchase service isconfigured to, in response to determining that a given time period haselapsed, send a second message indicating the code corresponding to saidselection.
 12. The system of claim 1, wherein the message-based purchaseservice is configured to send a message indicating said code to thecommunication device in response to determining that said communicationdevice is located within a given geographical region.
 13. The system ofclaim 1, wherein the message-based purchase service is configured todetermine the identity of the user.
 14. The system of claim 13, whereinthe message-based purchase service is further configured to determinethe identity of the user based on information within said messagereceived from the communication device.
 15. The system of claim 1,wherein the message-based purchase service is configured to send themessage including said code to the communication device in response to aprice change for said one or more items.
 16. A computer-implementedmethod, comprising: determining that a selection has been performedthrough a network-based interface, the selection indicative of one ormore items offered for sale via the network-based interface; in responseto said selection, sending to a communication device, a messageindicating a code corresponding to said selection; receiving from thecommunication device through a communication channel that does notinclude said network-based interface, a message including said code; andin response to determining that said received message includes saidcode, generating a purchase request for a user for said one or moreitems.
 17. The method of claim 16, further comprising sending to thecommunication device via a particular communication channel, anauthorization request message for requesting validation information,wherein the particular communication channel is a communication channelother than the communication channel through which the received messageincluding the code is received.
 18. The method of claim 17, furthercomprising in response to receiving a message including the requestedvalidation information from the communication device via the particularcommunication channel, indicating the purchase request as authorized.19. The method of claim 16, further comprising generating mappinginformation indicating a correspondence between said code andinformation for generating the purchase request, wherein the methodcomprises generating the purchase request based on said mappinginformation.
 20. The method of claim 19, wherein said mappinginformation indicates a correspondence between said code and one or moreof: one or more identifiers of said one or more items offered for sale,one or more shipping preferences, and one or more billing preferences.21.-47. (canceled)